﻿using System;


namespace MVVMS
{
    /// <summary>
    /// Notifications Class EventArg class
    /// </summary>
    public class NotificationEventArg : EventArgs
    {
        public NotificationEventArg(string Message, object Value, Action Callback)
        {
            this.Message = Message;
            this.Value = Value;
            this.Callback = Callback;
        }

        /// <summary>
        /// This is the message being sent
        /// </summary>
        public string Message { get; set; }

        /// <summary>
        /// Any value associated with the message is here
        /// </summary>
        public object Value { get; set; }

        /// <summary>
        /// Provide a callback if desired.  This might not be called
        /// or may be called many times (from each listener).
        /// </summary>
        public Action Callback { get; set; }
    }
}
